package saxion.sportvereniging;

import java.util.ArrayList;

import saxion.sportvereniging.groep.*;
import saxion.sportvereniging.reservering.Reservering;
import saxion.sportvereniging.vastgoed.Vastgoed;

public class SportVerenigingFacade {
	Sportvereniging sportvereniging;
	Financiën financiën;
	Reserveringen reserveringen;
	
	public SportVerenigingFacade(Sportvereniging sportvereniging, Financiën financiën, Reserveringen reserveringen) {
		this.sportvereniging = sportvereniging;
		this.financiën = financiën;
		this.reserveringen = reserveringen;
	}
	
	
	public void addVastGoed(String type, String naam, double kosten)
	{
		sportvereniging.addVastGoed(type, naam, kosten);
	}
	
	
	public void addReservering(Reservering Reservering)
	{
		reserveringen.addReservering(Reservering);
	}
	
	public void addLid(Lid lid) {
		sportvereniging.addLid(lid);
	}
//	public void addGroep(GroepDecorator groep) {
//		sportvereniging.addGroep(groep);
//	}
	public void addTeam(Team team) {
		sportvereniging.addTeam(team);
	}
	
	//Getters
	
	public ArrayList<Lid> getLeden()
	{
		return sportvereniging.getLeden();
	}
	
	public ArrayList<Team> getTeams()
	{
		return sportvereniging.getTeams();
	}
	
	public ArrayList<String> getGroepen()
	{
		return sportvereniging.getGroepen();
	}
	
	public ArrayList<Vastgoed> getVastgoed()
	{
		return sportvereniging.getVastgoed();
	}
	
	public ArrayList<Reservering> getReserveringen()
	{
		return reserveringen.getReserveringen();
	}
	
	public Double getContributie() 
	{
		return financiën.getAlleContributie();
	}
	public Double getInkomstenVastgoed()
	{
		return financiën.getAlleInkomstenVastgoed();
	}
	public Double getKostenVastgoed() 
	{
		return financiën.getAlleUitgavenVastgoed();
	}
	
	public void addGroepaanLid(int lidId, int groepId)
	{
		sportvereniging.addGroepaanLid(lidId, groepId);
	}

}
